package com.h3c.ptability.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.h3c.ptability.enums.ElectronicSignRecordStatus;
import com.h3c.ptability.support.SignExcelInfo;
import lombok.Data;

import java.util.Date;

/**
 * 实体类
 *
 * @author chenyifan
 * @since 2022-10-20 15:08:03
 */
@Data
@TableName(value = "pt_wait_sign_info", autoResultMap = true)
public class PtWaitSignInfo {
    /**
     * 主键id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;
    /**
     * 员工id
     */
    private String workerId;
    /**
     * 员工姓名
     */
    private String workerName;
    /**
     * 所属体系
     */
    private String belongSystem;
    /**
     * 场景类型
     */
    private String sceneType;
    /**
     * 记录id   为空表示还未发起
     */
    private String recordId;
    /**
     * 导入日期
     */
    private Date importTime;
    /**
     * 导入操作人
     */
    private String importOperator;
    /**
     * 计划签署开始时间
     */
    private Date planStartTime;
    /**
     * 计划签署结束时间
     */
    private Date planEndTime;
    /**
     * 导入的具体其他信息  json格式（签署用）
     */
    @TableField(typeHandler = FastjsonTypeHandler.class)
    private SignExcelInfo signExcelInfo;
    /**
     * 签署状态
     */
    @TableField(exist = false)
    private String signStatus;
    /**
     * 签署状态int类型
     */
    @TableField(exist = false)
    private Integer signStatusIntType;

    @TableField(exist = false)
    private ElectronicSignRecordStatus signRecordStatus;

    @TableField(exist = false)
    private Date signBeginTime;

    @TableField(exist = false)
    private Date signFinishTime;


    /**
     * 一级部门id
     */
    @TableField(exist = false)
    private Integer dept1id;
    /**
     * 二级部门id
     */
    @TableField(exist = false)
    private Integer dept2id;
    /**
     * 三级部门id
     */
    @TableField(exist = false)
    private Integer dept3id;

    /**
     * 一级部门名称
     */
    @TableField(exist = false)
    private String dept1IdName;
    /**
     * 二级部门名称
     */
    @TableField(exist = false)
    private String dept2IdName;
    /**
     * 三级部门名称
     */
    @TableField(exist = false)
    private String dept3IdName;

    /**
     * 指定签署的场景id
     */
    private String sceneId;

    /**
     * 指定签署的场景id
     */
    private String appId;
}

